home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / thtmnu12.zip / MENUCFG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-04-18  |  3KB  |  205 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     String   STRING001
  22.     String   STRING002
  23.     String   STRING003
  24.     String   STRING004
  25.     String   STRING005
  26.     String   STRING006
  27.     String   STRING007
  28.     String   STRING008
  29.     String   STRING009
  30.     String   STRING010
  31.     String   STRING011
  32.     String   STRING012
  33.     String   STRING013
  34.     String   STRING014
  35.     String   STRING015
  36.     String   STRING016
  37.  
  38. ;------------------------------------------------------------------------------
  39.  
  40.     STRING006 = ReadLine(PCBDat(), 232)
  41.     FOpen 1, STRING006, 0, 0
  42.     FSeek 1, 0, 0
  43.     FRead 1, STRING001, 14
  44.     FSeek 1, 15, 0
  45.     FRead 1, STRING005, 1
  46.     FSeek 1, 16, 0
  47.     FRead 1, STRING002, 39
  48.     INTEGER001 = 64
  49.     FCreate 3, PPEPath() + "menu.dat", 1, 0
  50.     FCreate 2, PPEPath() + "menu.cfg", 1, 0
  51.     STRING007 = ReadLine(PPEPath() + PPEName() + ".cnf", 1)
  52.     FPutLn 3, STRING007 + STRING001
  53.     FPutLn 2, "@X08Ma@X07ke @X0Fyour Selection Plea@X07se @X08or @X0F(@X0BENTER@X0F) =@X0C Quit>"
  54.     FPutLn 2, "@X0E"
  55.     FPutLn 2, "@X0F"
  56.     FPutLn 2, "N"
  57.     FPut 2, "!" + STRING002
  58.     FPut 2, " "
  59.     FPutLn 2, Asc(STRING005)
  60.     For INTEGER002 = 1 To 1000000
  61.         FSeek 1, INTEGER001, 0
  62.         FRead 1, STRING003, 14
  63.         If (Ferr(1)) Break
  64.         INTEGER001 = INTEGER001 + 15
  65.         FSeek 1, INTEGER001, 0
  66.         FRead 1, STRING005, 1
  67.         INTEGER001 = INTEGER001 + 1
  68.         FSeek 1, INTEGER001, 0
  69.         FRead 1, STRING004, 39
  70.         FPutLn 3, STRING007 + STRING003
  71.         If ((Mid(STRING004, 1, 1) == "\") || (Mid(STRING004, 3, 1) == "\")) Then
  72.             FPut 2, "!" + STRING004
  73.         Else
  74.             FPut 2, STRING004
  75.         Endif
  76.         FPut 2, " "
  77.         FPutLn 2, Asc(STRING005)
  78.         INTEGER001 = INTEGER001 + 48
  79.     Next
  80.     FClose 2
  81.     FClose 3
  82.     FClose 1
  83.     STRING006 = ReadLine(PCBDat(), 31) + ".@@@"
  84.     FOpen 1, STRING006, 0, 0
  85.     FSeek 1, 0, 0
  86.     FSeek 1, 298, 0
  87.     FRead 1, STRING016, 39
  88.     FClose 1
  89.     FOpen 1, STRING016, 0, 0
  90.     FAppend 2, PPEPath() + "menu.cfg", 1, 0
  91.     FAppend 3, PPEPath() + "menu.dat", 1, 0
  92.     :LABEL001
  93.     If (Ferr(1)) Goto LABEL003
  94.     FGet 1, STRING001
  95.     If (STRING001 == "") Goto LABEL002
  96.     STRING001 = Replace(STRING001, ",", " ")
  97.     Tokenize STRING001
  98.     If (TokCount() == 8) Then
  99.         GetToken STRING008
  100.         GetToken STRING009
  101.         GetToken STRING010
  102.         GetToken STRING011
  103.         GetToken STRING012
  104.         GetToken STRING013
  105.         GetToken STRING014
  106.         GetToken STRING015
  107.         If (STRING014 == -1) Goto LABEL002
  108.         FPutLn 3, STRING007 + STRING008
  109.         Copy STRING013 + STRING008, PPEPath() + STRING008 + ".bat"
  110.         FPut 2, STRING008 + " "
  111.         If (STRING011 == -1) FPut 2, "Y" + " "
  112.         FPutLn 2, STRING010 + " " + STRING009
  113.     Endif
  114.     If (TokCount() == 7) Then
  115.         GetToken STRING008
  116.         GetToken STRING010
  117.         GetToken STRING011
  118.         GetToken STRING012
  119.         GetToken STRING013
  120.         GetToken STRING014
  121.         GetToken STRING015
  122.         If (STRING014 == -1) Goto LABEL002
  123.         FPutLn 3, STRING007 + STRING008
  124.         Copy STRING013 + STRING008, PPEPath() + STRING008 + ".bat"
  125.         FPut 2, STRING008 + " "
  126.         If (STRING011 == -1) FPut 2, "Y" + " "
  127.         FPutLn 2, STRING010
  128.     Endif
  129.     :LABEL002
  130.     Goto LABEL001
  131.     :LABEL003
  132.     FClose 1
  133.     FClose 2
  134.     FClose 3
  135.     Append PPEPath() + "MENU1.CFG", PPEPath() + "MENU.CFG"
  136.  
  137. ;------------------------------------------------------------------------------
  138. ;
  139. ; Usage report (before postprocessing)
  140. ;
  141. ; ■ Statements used :
  142. ;
  143. ;    12      Goto 
  144. ;    10      Let 
  145. ;    11      If 
  146. ;    2       FCreate 
  147. ;    3       FOpen 
  148. ;    2       FAppend 
  149. ;    7       FClose 
  150. ;    1       FGet 
  151. ;    9       FPut 
  152. ;    12      FPutLn 
  153. ;    1       Tokenize 
  154. ;    15      GetToken 
  155. ;    8       FSeek 
  156. ;    7       FRead 
  157. ;    1       Append 
  158. ;    2       Copy 
  159. ;
  160. ;
  161. ; ■ Functions used :
  162. ;
  163. ;    4       -
  164. ;    31      +
  165. ;    9       ==
  166. ;    1       <
  167. ;    1       <=
  168. ;    2       >=
  169. ;    5       !
  170. ;    2       &&
  171. ;    2       ||
  172. ;    2       Mid()
  173. ;    2       Ferr()
  174. ;    2       Asc()
  175. ;    1       Replace()
  176. ;    2       PCBDat()
  177. ;    9       PPEPath()
  178. ;    3       ReadLine()
  179. ;    1       PPEName()
  180. ;    2       TokCount()
  181. ;
  182. ;------------------------------------------------------------------------------
  183. ;
  184. ; Analysis flags : d
  185. ;
  186. ; d - Access PCBOARD.DAT ■ 2
  187. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  188. ;     for many PPE so they can find various informations on the system
  189. ;     (system paths, max number of lines in messages, ...) but it may also
  190. ;     be a way to gather vital informations.
  191. ;     ■ Search for : PCBDAT()
  192. ;
  193. ;------------------------------------------------------------------------------
  194. ;
  195. ; Postprocessing report
  196. ;
  197. ;    1       For/Next
  198. ;    0       While/EndWhile
  199. ;    3       If/Then or If/Then/Else
  200. ;    0       Select Case
  201. ;
  202. ;------------------------------------------------------------------------------
  203. ;                 AEGiS Corp - Break the routines, code against the machines!
  204. ;------------------------------------------------------------------------------
  205.